/*
 * Filename:    HcpmsWarnDAO.java
 * Copyright:   2014 中国平安保险（集团）股份有限公司 版权所有
 * Company:     平安科技养老险及健康险系统开发部
 * Create at:   2014年11月5日
 */
package com.paic.mhis.hcpms.warning.intergration.dao;

import java.util.List;
import java.util.Map;

import com.paic.mhis.hcpms.warning.dto.HcpmsCodeListDTO;
import com.paic.mhis.hcpms.warning.dto.HcpmsWarnProcessInfoDTO;
import com.paic.mhis.hcpms.warning.dto.HcpmsWarnRalationDTO;
import com.paic.mhis.hcpms.warning.dto.HcpmsWarnScreenDTO;
import com.paic.mhis.hcpms.warning.dto.HcpmsWarnTargetDTO;
import com.paic.mhis.hcpms.warning.dto.HcpmsWarningDTO;
import com.paic.mhis.hcpms.warning.dto.HcpmsWarnsDTO;
import com.paic.mhis.hcpms.warning.dto.WarnResultDTO;
import com.paic.mhis.hcpms.warning.dto.WarnResultDetailDTO;
import com.paic.mhis.hcpms.warning.dto.WarningCheckDTO;
import com.paic.mhis.hcpms.warning.dto.WarningCheckDetailDTO;
import com.paic.mhis.hcpms.warning.dto.WarningMedicalDTO;
import com.paic.mhis.hcpms.warning.dto.WarningResultAuditDTO;

public interface HcpmsWarnDAO {

	List<HcpmsCodeListDTO> getCodeList(Map<String, Object> map);

	String createWarnNo(String businessWaring);

	List<HcpmsWarnScreenDTO> getWarnScreenList(Map<String, Object> map);

	void createHcpmsWarn(HcpmsWarningDTO warning);

	void createHcpmsWarnTarget(HcpmsWarnTargetDTO dto);

	void createHcpmsWarnScreen(HcpmsWarnScreenDTO dto);

	void updateHcpmsWarn(HcpmsWarningDTO warning);

	void updateHcpmsWarnScreen(Map<String, Object> map);

	void updateHcpmsWarnTarget(Map<String, Object> map);

	String getgetHcpmsWarnTarget(Map<String, Object> map);

	/**
	 * 预警反馈明细查询
	 * 
	 * @param map
	 * @return
	 */
	List<WarningCheckDetailDTO> getFeedBackDetailList(Map<String, Object> map);

	/**
	 * 预警反馈查询
	 * 
	 * @param map
	 * @return
	 */
	WarningCheckDTO getFeedBackList(Map<String, Object> map);

	HcpmsWarnsDTO getWarningInfo(Map<String, Object> map);

	List<WarningMedicalDTO> getWarnMedicalList(Map<String, Object> map);

	List<HcpmsWarnRalationDTO> getWarnStaffList(Map<String, Object> map);

	List<HcpmsWarnRalationDTO> getWarnInsuranceList(Map<String, Object> map);

	void saveWarnResultAudit(WarningResultAuditDTO dto);

	/** 医疗机构,医护人员,参保人查询 ***/
	int getMedicalListCount(Map<String, Object> map);

	List<WarningMedicalDTO> getMedicalList(Map<String, Object> map);

	int getInsuranceListCount(Map<String, Object> map);

	List<HcpmsWarnRalationDTO> getInsuranceList(Map<String, Object> map);

	List<HcpmsWarnRalationDTO> getStaffList(Map<String, Object> map);

	void warningChangeAudit(String warnNo);

	void updateWarnResultAudit(WarningResultAuditDTO dto);

	void saveAssessResultDetail(WarnResultDetailDTO dto);

	void updateAssessResultDetail(Map<String, Object> map);

	void updateAssessResult(WarnResultDTO dto);

	void saveAssessResult(WarnResultDTO dto);

	WarningResultAuditDTO getAuditResult(Map<String, Object> map);

	WarnResultDTO getWarnResult(Map<String, Object> map);

	List<WarnResultDetailDTO> getWarnResultList(Map<String, Object> map);

	// 验证手工输入预警编号
	public String checkWarnNoBiz(String warnNoBiz);

	/**
	 * 预警通知单号
	 * 
	 * @return
	 */
	public String createWarnNoticeNum();

	void deleteUpNodeDate(Map<String, Object> map);
	
	/**
	 * 流程信息查看
	 * @param map
	 * @return
	 */
	List<HcpmsWarnProcessInfoDTO> getAllWorkFlowInfo(Map<String, Object> map);
	
	/**
	 * 流程状态信息
	 * @param map
	 * @return
	 */
	String queryProcessStatusInfo(Map<String, Object> map);


}